package com.huige.error;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @Author 朱志辉
 * @Create 2024/7/20 下午5:35
 * @Version 1.0
 * Description:  全局异常处理器
 */
//全局异常发生：会走此类写的handler
//@ControllerAdvice  //可以返回逻辑视图 转发和重定项
@RestControllerAdvice  //@ControllerAdvice + @ResponseBody直接返回json字符串
public class GlobalExceptionHandler {


    //发生异常 --》ControllerAdvice 注解类型--》ExceptionHandler(指定的异常) --》handler
    //指定的异常 可以精准查找，或者查找父异常
    @ExceptionHandler(ArithmeticException.class)
    public Object ArithmeticExceptionHandler(ArithmeticException e) {
        //自定义异常处理 handler
        String message = e.getMessage();
        System.out.println("message = " + message);
        return message;

    }

    @ExceptionHandler(Exception.class)
    public Object ExceptionHandler(Exception e) {
        //自定义异常处理 handler
        String message = e.getMessage();
        System.out.println("message = " + message);
        return message;
    }


}
